//
//  Parameter.h
//  FrameWork
//
//  Created by Eagle on 5/26/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>


@interface Parameter : NSObject {
	
	//第几关
	int _stageNum;
	
	//初始金钱
	int	_beginMoney[4];
	
	//波数
	int	_waveNumber[4];
	
	//城市血量
	int	_cityHp[4];
	
	//敌兵基础生命参数
	float _hpEnemy[8];
	
	//敌兵移动速度
	float _speedEnemy[8];
	
	//敌兵金钱
	int _moneyEnemy[8];
	
	//敌兵经验
	int _expEnemy[8];
	
	//敌兵战功
	int _exploitEnemy[8];
	
	//普通箭塔攻击参数
	float _attackTower[3]; 
	float _towerRadius[3]; 
	int _towerPrice[3];
	int _towerSellPrice[3];
	int _towerInterval[3];
	float _towerAttackDegree[3];
	float _towerTurnSpeed[3];
	
	//毒刺塔攻击参数
	float _attackPoison[3];
	float _poisonRadius[3];
	int _poisonPrice[3];
	int _poisonSellPrice[3];
	int _poisonInterval[3];
	float _poisonAttackDegree[3];
	float _poisonTurnSpeed[3];
	
	//毒刺塔减速参数
	float _slowdown[3];
	
	//减速时间,frame基准
	int _slowdownTime[3];
	
	//穿刺攻击参数
	float _attackPuncture[3];
	float _punctureRadius[3];
	int _puncturePrice[3];
	int _punctureSellPrice[3];
	int _punctureInterval[3];
	
	float _punctureAttackDegree[3];
	float _punctureTurnSpeed[3];
	
	//投石车攻击力
	float _attackMangonel[3];
	float _mangonelRadius[3];
	int _mangonelPrice[3];
	int _mangonelSellPrice[3]; 
	int _mangonelInterval[3];
	float _mangonelAttackDegree[3];
	float _mangonelTurnSpeed[3];
	
	//投石车伤害半径
	float _radiusMangonel[3];
	
	//战鼓参数
	//影响半径
	float _zhanguRadius[3];
	float _zhanguAttackUp[3];
	int _zhanguPrice[3];
	int _zhanguSellPrice[3];
	
/*武将参数*/
	
	//攻击力
	float _warriorAttack[99];
	
	//升级所需经验值
	int _warriorLevelExp[99];
	
	//攻击动画间隔
	int _warriorAniTime[99];
	
	//攻击间隔
	int _warriorInterval[99];
	
	//移动速度
	float _warriorSpeed[99];
	
	//攻击半径
	float _warriorAttackRadius[99];
	
	//守备半径
	float _warriorGuardRadius[99];
	
/*   武将技参数     */
	//落雷术攻击力
	float _luoLeiAttack[99];
	//落雷术半径
	float _luoLeiRadius[99];
	//落雷术多长时间后产生伤害
	int _luoLeiAttackTime[99];
	//偷取术参数
	//偷取术半径
	
	float _touQuRadius;
	//偷取术作用时间
	int _touQuLastTime;
	
	
	//八卦阵参数
	//八卦阵半径
	float _baGuaRadius;
	//八卦阵作用时间
	int _baGuaLastTime;
	
	//暴击参数
	//暴击攻击力因子
	float _BaoJiAttackFactor;
	//暴击次数
	int _BaoJiTime;
	
	int  openStage;//当前打开到第几关
	
	
}

//关卡数据
-(int) stage;
-(void) setStage:(int) stage;

//判断当前关卡是否能开
-(BOOL)IsStageOpen:(int)stageNum;

-(float)RadiusArrowWeapon:(int)WeaponName Level:(int)lever;

-(int) beginMoney:(int)lever;

-(int)waveNumber:(int)lever;

-(int)cityHp:(int)lever;

//敌兵数据
-(float) hpEnemy:(int) type;
-(float) speedEnemy:(int) type;
-(int) moneyEnemy:(int) type;
-(int) expEnemy:(int) type;
-(int) exploitEnemy:(int) type;

//箭塔数据
-(float) attackArrow:(int) level;
-(float) radiusArrow:(int) level;
-(int) priceArrow:(int) level;
-(int) sellPriceArrow:(int) level;
-(int) intervalArrow:(int) level;
-(float) attackDegreeArrow:(int) level;
-(float) turnSpeedArrow:(int) level;

//毒刺数据
-(float) attackPoison:(int) level;
-(float) radiusPoison:(int) level;
-(int) pricePoison:(int) level;
-(int) sellPricePoison:(int) level;
-(int) intervalPoison:(int) level;
-(float) slowdown:(int) level;
-(int) slowdownTime:(int) level;
-(float) attackDegreePoison:(int) level;
-(float) turnSpeedPoison:(int) level;

//穿刺数据
-(float) attackPuncture:(int) level;
-(float) radiusPuncture:(int) level;
-(int) pricePuncture:(int) level;
-(int) sellPricePuncture:(int) level;
-(int) intervalPuncture:(int) level;
-(float) attackDegreePuncture:(int) level;
-(float) turnSpeedPuncture:(int) level;

//投石数据
-(float) attackMangonel:(int) level;
-(float) radiusMangonel:(int) level;
-(int) priceMangonel:(int) level;
-(int) sellPriceMangonel:(int) level;
-(int) intervalMangonel:(int) level;
-(float) attackMangonelRadius:(int) level;
-(float) attackDegreeMangonel:(int) level;
-(float) turnSpeedMangonel:(int) level;

//战鼓数据
-(float) attackUpZhangu:(int) level;
-(float) radiusZhangu:(int) level;
-(int) priceZhangu:(int) level;
-(int) sellPriceZhangu:(int) level;

//武将数据
-(float) warriorAttack:(int) level;
-(int) warriorLevelExp:(int) level;
-(int) warriorAniTime:(int)level;
-(int) warriorInterval:(int) level;
-(float) warriorSpeed:(int) level;
-(float) warriorAttackRadius:(int) level;
-(float) warriorGuardRadius:(int) level;



//技能参数
//落雷参数
-(float) luoLeiAttack:(int) level;
-(float) luoLeiRadius:(int) level;
-(int) luoLeiAttackTime:(int) level;

//偷取术参数
//偷取术半径
-(float) touQuRadius;
//偷取术作用时间
-(int) touQuLastTime;


//八卦阵参数
//八卦阵半径
-(float) baGuaRadius;
//八卦阵作用时间
-(int) baGuaLastTime;

//暴击参数
//暴击攻击力因子
-(float) BaoJiAttackFactor;
//暴击次数
-(int) BaoJiTime;




//读取参数
-(void) LoadFile;

//读取武将参数
-(void) LoadWarrior;

//读取士兵参数
-(void) LoadEnemy;

//读取塔的参数
-(void) LoadTower;

//读取技能参数
-(void) LoadEffect;

//单例
+(Parameter *)sharedParameter;

@end
